package utils;

import org.opencv.core.Mat;



/**
 *Basic structure containing id, name, picture, shape and key points descriptors of a leaf.
 */
public class Species {


	private int id;
	private byte[] photo;
	private Mat features;
	private Mat shapeDescriptors;
	private String name;
	
	public Species() {
		super();
	}

	public Species(int id, byte[] photo, Mat features, Mat shapeDescriptors) {
		super();
		this.id = id;
		this.photo = photo;
		this.features = features;
		this.shapeDescriptors = shapeDescriptors;
	}
	
	public Species(int id, Mat features, Mat shapeDescriptors) {
		super();
		this.id = id;
		this.features = features;
		this.shapeDescriptors = shapeDescriptors;
		this.photo = null;
	}



	public Species(int id, Mat features, Mat shapeDescriptors, String name, byte[] photo) {
		super();
		this.id = id;
		this.features = features;
		this.shapeDescriptors = shapeDescriptors;
		this.name = name;
		this.photo = photo;
	}

	public Species(String name, byte[] photo) {
		this.name = name;
		this.photo = photo;
	}

	public byte[] getPhoto() {
		return photo;
	}
	public void setPhoto(byte[] photo) {
		this.photo = photo;
	}
	public Mat getFeatures() {
		return features;
	}
	public void setFeatures(Mat features) {
		this.features = features;
	}
	public Mat getShapeDescriptors() {
		return shapeDescriptors;
	}
	public void setShapeDescriptors(Mat shapeDescriptors) {
		this.shapeDescriptors = shapeDescriptors;
	}
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	
	@Override
	public String toString() {
		return getName();
	}
	
}
